查看原文
其他

2019盘点:机器学习更亲民,AI系统更精巧

微软亚洲研究院 微软研究院AI头条 2020-09-12


作为在计算机科学领域深耕21年的基础与应用研究机构,微软亚洲研究院始终致力于推动计算机科学全领域的前沿发展,着眼于下一代革命性技术的创新与突破。


在即将过去的2019年,微软亚洲研究院持续探索计算机科学的边界,收获了累累的科研硕果,在 ACL、EMNLP、NeurIPS、ICML、AAAI、IJCAI、CVPR、ICCV、SIGGRAPH、KDD、WWW、SIGCOMM、NSDI、MobiCom 等计算机科学国际顶级会议上共发表230余篇论文,全面覆盖了机器学习、自然语言处理、计算机视觉、图形学、可视化、语音、数据挖掘、软件工程、计算机系统、网络、数据库与安全等领域。


站在2020年的入口,脚下交织着过去与未来的风,我们对未来翘首以盼。在接下来的几天,我们将从机器学习、系统、数据智能、语音与自然语言、计算机视觉与图形学五大领域出发,盘点2019年值得注目的技术热点,并展望各个领域的未来发展趋势。


本文将与大家分享的是2019年机器学习和系统领域的突破与进展,以及未来趋势。如果说机器学习可以算是 AI 的大脑,那么系统网络就像 AI 的身体躯干。AI 的进一步普及,需要对机器学习算法、模型、理论等进行不断地优化和提炼,同时也需要能够构建出高效、稳定、可信乃至“精巧”的 AI 系统,为 AI 应用的真正落地做好诸多准备。


(注:点击阅读原文,即可查看文中提及的相关论文详细信息列表)


AI 与 System,互生互长


当人们为构建 AI 应用而寻找底层系统架构时,常常会发现寻找或开发出一个高效、稳定、可信的 AI 系统却不是件易事。这种情况在如今 AI 和云计算相结合的趋势下愈加明显。AI 方案提供商们不可能再像早期实验室研究那样,不计成本地追求性能,而且随着支撑 AI 应用的高性能计算节点的引入和大规模应用,传统系统架构本身也制约了性能的提升。因此,脚踏实地地考虑性能、稳定性、可扩展性、性价比等多方面因素在 AI 应用背景下的再平衡,设计和开发更加“精巧”的 AI 系统是未来的发展方向。同时,如何充分挖掘 AI 技术的潜力,来提升系统研究和设计本身也是一个重要课题。


System for AI:AI 落地需要更好的系统支撑


各类 AI 技术和应用的不断创新,让计算机系统得以处理前所未见的大规模数据和应付高度复杂的大型系统问题,从模型训练到应用推理,各个层面都对系统的构建提出了严峻的考验。


在微软亚洲研究院看来,要更好地支撑机器学习、深度学习、强化学习等 AI 算法的运行,系统需要从硬件到软件到网络全面重构。例如,神经网络的训练会涉及多种系统问题,包括如何充分发挥 GPU 利用率、如何在以 GPU 为主的高性能计算集群中实施大数据量、高并行度的神经网络训练、如何避免大型集群训练时发生硬件故障等。近两年来,微软亚洲研究院在 OSDI 2018、USENIX ATC 2019、Eurosys 2019 等大会上发表了多篇论文,从三个方面对支撑 AI 的系统(System for AI)进行了抽象和提升,包括针对深度学习提出了新的集群调度框架 Gandiva[1],发布了第一个能够支持大规模图形神经网络训练的系统架构 NeuGraph[2],以及针对大规模神经网络分布式训练的基于 RDMA 的网络通信技术[3]。这一系列工作预示着 AI 系统的未来:只有从单个网络的优化到底层系统架构的全栈式重构,才能更好地支持现在及未来深度学习的工作负载


与此同时,为支撑规模越来越大的分布式机器学习系统运行,底层通信网络平台也需要跟随 AI 的步伐不断进行创新,进一步提高通信性能和效率。微软亚洲研究院近年来关注于硬件网络方面的研究,其基于可编程硬件的技术不仅有助于降低网络延迟和 CPU 开销、提高吞吐量、提升网络速度,更有利于提升分布式机器学习系统的可扩展性和效率。相关研究成果发表在了 NSDI 2018、NSDI 2019 和 SIGCOMM 2019 大会上[4-6]。


事实上,对于深度学习的系统研究目前还处于早期阶段,很多研究成果集中在商业化的研究机构,学术界由于缺乏企业级大规模系统支撑的研究和产品化混合训练的环境,难以进行更深入的研究。为此,微软亚洲研究院将多项系统相关的研究成果(OpenPAISPTAGNNI等)开源。同时,为了培养 AI 和系统这一研究方向的人才,微软亚洲研究院通过系统教学工作组(MSRA System Teaching Workshop)平台,与国内高校一起设计新的教学课程。首期课程将围绕人工智能和系统交叉领域的前沿方向展开,希望为学术界乃至产业界提供更多参考。所有这些工作都秉承了微软亚洲研究院一直以来注重开放、合作的传统,为未来的技术进步和多元发展奠定了基础,并促进了领域研究的正循环。


系统如何设计才最优?AI for System 来帮忙


为 AI 应用打造更好的系统,是系统研究顺其自然的演变结果。如同在单机时代,为 PC 打造操作系统;在云时代,为云平台打造分布式网络、数据库;在 AI 时代,自然是进一步提升系统的能力,以支撑 AI 的全方位应用需求。


但 AI 时代的特别之处在于,AI 所具有的能力也可以反向为系统研究提供新的思路和方法,即反哺系统研究(AI for System),让研究员们可以利用 AI 手段去提升系统的设计、开发、维护等。尤其在系统复杂度呈几何量级上升的今天,很多系统问题已经无法完全靠人的直觉和经验去解决,而是需要进行大量的数据分析来驱动复杂系统的优化。



一直以来,系统研究都有一个要解决的核心问题:系统怎么设计才是最优?如今,研究员们有了机器学习这个有力的工具,这个问题的解决也比以往更加高效。过去一年,微软亚洲研究院系统组的研究员在 ATC 2018 和 ATC 2019 大会上发表论文,提出了一种方法,通过自动优化系统并引入现实因素,让机器学习在真实场景中发挥作用[7],此外,研究员们还应用机器学习技术于优化系统运行逻辑,让系统变得更加智能化[8]。


微软亚洲研究院系统组与微软 Azure、必应(Bing)、广告等多个产品部门有着非常紧密的长期合作,因此优化问题需要在为不同大规模系统服务的背景下展开。而在合作过程中,研究员们在考虑,是否可以打造一个通用的 AI for System 框架,为成百上千个系统抽象出通用的平台。基于这个 AI for System 平台化的想法,微软亚洲研究院系统组在今年的 SIGOPS Operating Systems Review[9],提出了“系统”和“学习”为中心的协同设计,为构建系统优化提供了一个原则性的方法论。同时,在 NNI 这个开源项目下,给出了初步的为 AI for System 研究设计的示例代码。


让 AI 在边缘计算上更好地运行


随着各种智能设备和新型应用的不断涌现,计算模式正从集中式的云计算向分布式的边缘计算转变。一方面是大量的智能设备(智能监控摄像头、自动驾驶汽车等)产生了海量的数据,很难把所有数据都上传到云端进行处理。另一方面是新的应用和场景需要在本地进行数据处理。比如人们越来越关注隐私,不愿意把个人数据上传;自动驾驶、工厂流水线控制等,出于实时性和可靠性的要求,需要在本地进行计算等等。另外,随着 AI 算法的不断成熟,人们开始设计各种专用的 AI 处理器,不仅功能强大,而且功耗低,价格便宜,使得在终端设备上运行各种 AI 任务成为了可能。


在边缘计算时代,如何利用 AI 赋能于各种边缘设备和应用,让 AI 更好地为人们的工作和生活服务,就成为了一个重要的研究课题。这需要结合 AI 和系统两个方面,让 AI 在边缘计算上更好地运行。微软亚洲研究院系统组的研究员们在如何通过模型-软件-硬件的协同设计对模型推理进行加速、如何保护用户的隐私和模型数据的安全、如何让分布在不同地方的设备联合起来,相互协作从新获取的数据中不断学习等方面进行了研究;并在 MobiCom 2018/2019、AAAI 2019、CVPR 2019 等多个顶会上发表了相关研究成果[10-13]。


安全是智能技术的核心要素


如今,AI 技术正在给人类的工作和生活带来颠覆性的变革,因此,微软认为企业与组织必须制定并采取明确的原则,以构建可信赖的 AI。在微软,包括科研在内的所有 AI 领域的相关工作都必须遵循以下六大原则:公平、可靠和安全、隐私、包容、透明、责任。其中,可靠和安全也是在整个计算机领域都备受重视的研究方向。除了智能化、跨领域和开源以外,可靠和安全也是系统研究未来发展的一大趋势。


一个颇有颠覆性的热点是对业界二、三十年来所默认的硬件安全的再认识:比如 CPU 的“指令预执行”优化可以泄露信息(Meltdown & Spectre 攻击),电容的频繁充放电足以导致相邻内存数据的改变(Rowhammer 攻击)。因此大家对于安全也越发谨慎,安全意识和思维方式也有所转变:以前如果不知道不安全,往往就默认为是安全的;但现在,大家倾向于只有能够证明是安全的,才是真正的安全。这种意识的转变使得计算机领域中一些最根本的价值受到了进一步重视,比如逻辑、可计算性、复杂性等。而微软亚洲研究院也一直持续关注相关领域的研究,研究范围涉及多方计算、区块链、联邦学习、零知识证明等方向。在安全方向上,研究员在 Micro 2018 和 USENIX Security 2018 均有成果发表[14-15]。


未来的计算能力将隐形于我们周围,计算支持的智能将无处不在。只有不断的创新,才能保证各种技术无缝、稳定、安全、高效、持续地协同进行,而这就是未来计算与智能系统领域发展需要不断突破的方向。


机器学习愈亲民,AI 愈实用

过去几年,以机器学习为代表的人工智能取得了突破性的进展,2019年这些胜利的果实又得到了进一步的巩固,并稳定地向前发展。机器学习理论体系已经日趋成熟,机器学习模型、算法也已在一些真实业务场景中崭露头角,甚至开始在物流、金融等行业的关键系统中发挥作用。


然而 AI 应用的进一步普及,需要对机器学习算法、模型、理论等进行不断地优化和提炼,现阶段的机器学习研究和开拓也正是遵循这一发展脉络不断前行,为 AI 应用的落地做好更多的准备,如简化训练方式、提升模型速度、深度理解机器学习等,这些着力点都是为了让机器学习更加普适,促进 AI 向实用型、通用型演进。


让机器学习拿来即用


  • 从监督数据学习到无标注数据学习


深度学习是机器学习中最具影响力的一项技术,研究者众多,但其突破更多的是在从监督数据进行学习方面,而这种方法的样本数量少,并不能发挥神经网络大容量的优势。2019年开始,包括 Pre-training(预训练)、对偶学习、迁移学习等方法的无标注数据学习成为热点。


Pre-training 以 BERT 为代表,之后陆续出现了 Xlnet、RoBERTa、T5 等预训练模型。针对 Pre-training 的研究,微软亚洲研究院的 MASS、UniLM、VLBERT[16-18] 等预训练模型都超越了 BERT,进而将 Pre-training 研究推向了新的高度;而且这些预训练方法不仅在很多公开数据集中面取得了重大突破,也在实际的商业产品中得到了广泛应用。


在无标注数据方面,微软亚洲研究院在三年前便提出了对偶学习,它主要是利用两个机器学习任务之间的结构对偶属性,从无监督数据获得反馈信号进行学习。在2019年的 ICML 上,对偶学习被应用到了语音识别和语音合成中,进一步验证了这一学习范式可以从很少量的标注数据中学到好的语音合成模型[19]。今年,微软亚洲研究院基于对偶学习,又提出了多智能体对偶学习[20],并在2019国际机器翻译大赛(WMT 2019)上获取8项冠军


WMT 2019国际机器翻译大赛结果


  • 更快的模型和算法,实际应用才可能落地


深度学习使用的训练数据越多,模型就越大,从而模型训练时间、支持其运行的计算资源,以及实际使用中的模型推理时间也越来越长。因此,加快模型和算法的训练、推理速度,才能让模型在实际中更快、更好地应用


对此,微软亚洲研究院提出了快速的语音合成算法FastSpeech[21],其中的非自回归深度模型能够把 mel spectrum 的生成速度提速270倍,同时端到端的语音生成速度提速40倍。FastSpeech 算法对商业化的语音合成产品提速降费非常有效。


实际应用前的演练——强化学习用在复杂游戏中


围绕着机器学习的另一个热门方向“强化学习”的探索,近年来一直侧重于较小的游戏如 Mojoco,或者是相对简单的视频游戏如 Atari 的研究,但今年,如何将深度学习用于解决更复杂游戏里的问题,吸引了大量的注意力,例如针对星际争霸设计的 AlphaStar,其挑战就是如何从非完全信息中进行学习,如何处理多人博弈以及更大的动作空间。


微软亚洲研究院针对麻将设计的 AI 系统 Suphx,其在技术上的主要挑战是:如何处理超大的隐藏信息空间以及非常强的随机性。为了应对这些挑战,Suphx 基于深度强化学习,提出了近似常熵探索机制和先知教练来加强训练,并在打牌时实时进行策略适应。微软亚洲研究院认为,多人麻将中的复杂策略和带有随机性的博弈过程更贴近人类的真实生活,AI 在其中的突破将更能应用于实际环境中



机器学习进入传统行业:物流、金融……


深度学习的发展给许多传统领域问题的解决提供了全新的思路,微软亚洲研究院的一些机器学习模型和算法成果,已经与物流、金融等业务场景进行深度结合,并取得了不错的效果。


在物流领域的资源调度方面,微软亚洲研究院通过与东方海外航运合作,探索出了针对资源调度的一套全新解决方法:竞合多智能体强化学习。相比于传统运筹学方法在全局上求解优化,竞合多智能体强化学习把每一个港口和船只建模成智能体,对原来的复杂问题分而治之,以去中心化的方式进行求解,通过协调智能体之间的利益分配与转移,来促进智能体之间的合作,同时协调他们之间的竞争,最终起到全局优化的目的。该方法预计可以大幅提升业务效率并节省运营成本。实际上,大到全球范围的航运,小到城市内的快递业务,人工智能的算法已经越来越多地被应用到物流行业中的供需预测、资源调度、路径优化、供需评价等任务中




在金融领域的量化投资方面,微软亚洲研究院与华夏基金合作研究,聚焦“AI+指数增强”,通过探索两项核心人工智能技术——时空卷积神经网络和时变注意力模型,自动构建有价值的投资因子,并实现了动态的因子非线性复合。这种“AI+指数增强”的方法可以挖掘出与传统投资方法低相关性的投资组合,帮助金融企业实现差异化竞争。未来,人工智能算法在证券、银行、保险等行业还将发挥出更大的潜能


更好地理解机器学习“黑盒”


深度学习在实践中“大展身手”的同时,研究人员也非常期待能深入理解它。比如深度神经网络的优化目标是非凸的,理论上很难保证找到最优点,但是实际上随机梯度下降总会找到不错的解;再比如神经网络设计和训练有很多窍门,像跳层连接、注意力机制、批归一化、学习率阶梯指数下降等。为什么这些窍门会起作用?如何设计出新的或者更好的“窍门”?


今年在这些问题的理解上学术界有了很多进展,其中平均场理论、神经切线核、过参数化、学习率阶梯指数下降等研究备受关注。不过,当前的分析方法跟实际的深度神经网络训练还有一定距离,而更具挑战的是,如何真正理解这些并设计出新网络、新算法来提高性能


基于对深度神经网络路径空间的分析,微软亚洲研究院提出 G-SGD[22], 使得在优化 ReLU 网络时避免了在权重空间进行神经网络优化的冗余性问题,并基于对跳层连接的稳定性分析,提出了 tau-ResNet[23],对残差块中的参数分支输出缩小 1/sqrt(L),从而在非常深的网络中保持前传和后传的稳定性,实际效果一致,且优于原始 ResNet。


另外,基于有跳层连接的网络与一阶常微分方程的对应,以及对注意力机制的分析,微软亚洲研究院的研究员们提出了马卡龙网络[24],来改进像 Transformer 这种带有注意力机制的网络,在 NLP 项目上取得了一致超越 Transformer 的性能。相关研究已经在今年的 ICLR 和 NeurIPS workshops 上发表、展示。


未来,知其然、更知其所以然


未来,对于深度学习、机器学习等人工智能技术的研究,我们不仅要知其然,更要知其所以然,让 AI 在可控的、安全的范围内发挥最大价值。因此,对 AI 的可解释性、因果分析、鲁棒性、隐私保护的研究,将会是研究人员的长期奋战目标。


机器学习算法在多领域、多场景中的应用,使模型和算法的可解释性愈发受到重视,在追求算法或模型的高准确度时,我们更希望知道 AI 为什么做出这种决策或预测。与可解释性相关的,还有因果分析,我们理解问题后,不仅希望做出预测、决策,还想了解中间的因果关系,例如了解导致某种疾病的原因就可以更好的避免这种疾病,因果分析可以让我们更好地理解世界,甚至实现强人工智能


另外,在一些与安全高度相关的应用场合,如安防中的人脸识别、医疗应用、无人驾驶的决策算法等,算法和模型的鲁棒性尤为关键;同时,面对日益严峻的隐私保护挑战,如何在使用机器学习技术时保护隐私或者加强隐私保护,也是未来一个非常重要的课题


点击阅读原文,对应数字查看文中提及的相关论文详细信息列表!



一份元旦礼物


留言区写下你的2020年新年愿望

点赞数第一名将获得

2020年微软亚洲研究院定制台历



活动截止时间:2020年1月3日中午12:00




你也许还想看



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存